1. Field of the Invention
This invention relates to a port adapter or bus driver for an input/output system for a very large computer system and more particularly to such a port adapter wherein particular I/O software functions are implemented in the port adapter of the I/O hardware system.
2. Description of the Prior Art
A very large multi-processing system or a very large single processing system adapted for multi-programming require large amounts of data in their various computations and thus are provided with a hierarchy of storage units ranging from main memory to bulk storage devices such as disk drives to peripheral devices such as tape drives, and the like. The system is provided with I/O controllers which control the data transfer from the peripheral devices to the main memory. However, in such prior art systems the central processors are required to decode the I/O instructions and send the respective control signals to the I/O controllers and this takes up an unduly amount of the processor's execution time. Examples of such prior art controllers are disclosed in the Annunziata et al. U.S. Pat. No. 3,432,813 and the Calta et al. U.S. Pat. No. 3,447,138.
Attempts have been made to free the central processor from this I/O execution so that the central processor can spend more time on user jobs by supplying a separate general purpose processor to operate independently in the control of input/output data transfers. However, there must be some communication between the two processors in order to assure that the data required by the main central processor is received in its main memory prior to the central processor utilizing that data.
Input/output operations include more than just data transfers between the periphery and main memory. For example, the I/O system must control such non-data transfer operations as monitoring and altering the state of devices. Furthermore, in very large data processing systems, there are a number of different buses and peripheral controllers that may be chosen to optimize through-put from the periphery to main memory and vice versa. However, these functions are handled by an operating system running on a central processor, requiring the processor to spend additional time that could be employed in running user jobs or tasks.
Statistical studies indicate that a major portion of each processor's time, in a multi-processing system, is employed in executing operating system functions. From these studies, it is estimated that the overhead of such management functions has been anywhere between 10 percent and 50 percent, and occasionally even higher. Furthermore, a goodly portion of the time that the corresponding central processor is executing operating system functions is employed in establishing process priority, performing functions on events (to be defined below) and initiating input/output operations. If these functions could be removed from the operating systems, then the through-put of the data processing system should be substantially enhanced.
It is then an object of the present invention to provide an improved input/output system that in turn increases the through-put of the data processing system.
It is another object of the present invention to provide an improved input/output system which allows the removal from the operating system of those functions which require a goodly percentage of the central processor's time.
It is still a further object of the present invention to provide an improved input/output system having facilities for performing those functions that would otherwise be a part of the operating system stored in main memory.